char *uuid;
struct xen_host_record_opt *host;
uint64_t number;
+ char *vendor;
+ uint64_t speed;
+ char *modelname;
struct xen_cpu_feature_set *features;
double utilisation;
} xen_host_cpu_record;
xen_host_cpu_get_number(xen_session *session, uint64_t *result, xen_host_cpu host_cpu);
+/**
+ * Get the vendor field of the given host_cpu.
+ */
+extern bool
+xen_host_cpu_get_vendor(xen_session *session, char **result, xen_host_cpu host_cpu);
+
+
+/**
+ * Get the speed field of the given host_cpu.
+ */
+extern bool
+xen_host_cpu_get_speed(xen_session *session, uint64_t *result, xen_host_cpu host_cpu);
+
+
+/**
+ * Get the modelname field of the given host_cpu.
+ */
+extern bool
+xen_host_cpu_get_modelname(xen_session *session, char **result, xen_host_cpu host_cpu);
+
+
/**
* Get the features field of the given host_cpu.
*/
{ .key = "number",
.type = &abstract_type_int,
.offset = offsetof(xen_host_cpu_record, number) },
+ { .key = "vendor",
+ .type = &abstract_type_string,
+ .offset = offsetof(xen_host_cpu_record, vendor) },
+ { .key = "speed",
+ .type = &abstract_type_int,
+ .offset = offsetof(xen_host_cpu_record, speed) },
+ { .key = "modelname",
+ .type = &abstract_type_string,
+ .offset = offsetof(xen_host_cpu_record, modelname) },
{ .key = "features",
.type = &xen_cpu_feature_set_abstract_type_,
.offset = offsetof(xen_host_cpu_record, features) },
free(record->handle);
free(record->uuid);
xen_host_record_opt_free(record->host);
+ free(record->vendor);
+ free(record->modelname);
xen_cpu_feature_set_free(record->features);
free(record);
}
}
+bool
+xen_host_cpu_get_vendor(xen_session *session, char **result, xen_host_cpu host_cpu)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = host_cpu }
+ };
+
+ abstract_type result_type = abstract_type_string;
+
+ *result = NULL;
+ XEN_CALL_("host_cpu.get_vendor");
+ return session->ok;
+}
+
+
+bool
+xen_host_cpu_get_speed(xen_session *session, uint64_t *result, xen_host_cpu host_cpu)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = host_cpu }
+ };
+
+ abstract_type result_type = abstract_type_int;
+
+ XEN_CALL_("host_cpu.get_speed");
+ return session->ok;
+}
+
+
+bool
+xen_host_cpu_get_modelname(xen_session *session, char **result, xen_host_cpu host_cpu)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = host_cpu }
+ };
+
+ abstract_type result_type = abstract_type_string;
+
+ *result = NULL;
+ XEN_CALL_("host_cpu.get_modelname");
+ return session->ok;
+}
+
+
bool
xen_host_cpu_get_features(xen_session *session, struct xen_cpu_feature_set **result, xen_host_cpu host_cpu)
{